package com.asa.cc;

public class E {

	
	/**
	 * 插件
	 * 	jp@gc-active threads over time		图表查看活跃线程数
	 * 
	 * 查看cpu
	 * top	然后按1
	CPU两种运行状态
		用户态:
		内核态
		物理核
		逻辑核
		超线程
		cpu信息是保存在/proc/cpuinfo
		物理CPU数统计命令:
		[root@node02 ~]# cat /proc/cpuinfo | grep "physical id" | sort| uniq |wc -I
		核心数CPU数统计命令:
		[root@node02 ~]# cat /proc/cpuinfo | grep "core id" |sort| uniq|wc -I
		总逻辑CPU数统计命令:
		root@node02 ~]# cat /proc/cpuinfo | grep "processor"| sort| uniq | wc-I


	 * 
	 * 
	 * lscpu
	 * 
	 * 
	 * 
	 * cpu性能诊断
	 * 
	 * cpu使用率的标准：50	70	90%
	 * 	
	 * 单核:
		CPU使用率: 70%
		CPU空闲率: 1 - 70%= 30%
		四核: .
		总的CPU400%，400%* 70%= 280% 空闲率400 %- 280% = 120%
		八核:
		总的CPU800%， 800% * 70%= 560% 空闲率400 %- 280% = 240%
		至少要100%空闲时间，少于100%

	 * 
	 * 
	 * 
	 * CPU队列:系统平均负载
		系统负载<=CPU总核数，表示系统不忙
		CPU总核数<=系统负载<=CPU总核数* 3,不确定，需要结合其他资源来分析
		系统负载> CPU总核数* 3,表示系统忙

	 * top
	 * 	hi百分比较高，说明硬件中断比较多
	 * 	si百分比较高，说明网络处理比较多
	 * 	id表示cpu空闲
	 * 	us用户在消耗的cpu
	 * 	
	 * 
	 * cpu的上下文切换
	 * 	vmstat查看上下文切换cs标签
	 * 	一般要求低于5000*CPU总核数
	 * 
	 *         r：在运行队列中等待的进程数。
		        b：在等待IO的进程数。
		        cs：每秒的上下文切换的次数。
		        us：用户进程使用的CPU时间（%）。
		        sy：系统进程使用的CPU时间（%）。
		        id：CPU空闲时间（%）。
		        wa：等待IO所消耗的CPU时间（%）。
	 *
	 *
	 *
	 *tag	看是哪个pid拖慢了cpu
	 *pid需要转换为16进制，比如a65
	 *jstck pid | grep -A10 -B10 a65
	 *从下往上看
	 *
	 *
	 *
	 */
	
}
